#include <stdio.h>

#define PRINT(exp...)                                                          \
  {                                                                            \
    exp;                                                                       \
    printf(#exp " => i = %d\n", i);                                            \
  }

int main() {

  int a = 1, b = 2, c = 3;
  const int i = 0;

  printf("(a, b, c, i) = (%d, %d, %d, %d)\n\n", a, b, c, i);

  /* comma act as binary operator */
  //  PRINT(i = (a, b, c));
  //  PRINT(i = (a + 5, a + b));

  /* equivalent to (i = a + 5), a + b */
  // PRINT(i = a + 5, a + b);

  return 0;
}
